// 必要的非需鉴权路由（基本路由）
// const BaseRoutes = [
//   {
//   path: '/',
//   name: '后台首页',
//   icon: 'fa fa-home'
// }
// ]

// 定义完整的路由导航数据 (需要自己调用后端接口返回的数据)
// const ScopeRoutes = [{
//   path: 'order',
//   name: '订单管理',
//   icon: 'fa fa-building-o',
//   children: [{
//       path: 'list',
//       name: '全部订单'
//     },
//     {
//       path: 'wait-delivery',
//       name: '待发货'
//     }, {
//       path: 'deliveryed',
//       name: '已发货'
//     }, {
//       path: 'wait-receiving',
//       name: '待收货'
//     }, {
//       path: 'received',
//       name: '已收货'
//     }, {
//       path: 'closed',
//       name: '已关闭'
//     }
//   ]
// }, {
//   path: 'goods',
//   name: '商品管理',
//   icon: 'fa fa-shopping-bag',
//   children: [{
//       path: 'list',
//       name: '商品列表'
//     },
//     {
//       path: 'category',
//       name: '商品分类'
//     },
//     {
//       path: 'attr',
//       name: '商品属性'
//     },
//   ]
// }, {
//   path: 'member',
//   name: '会员管理',
//   icon: 'fa fa-users',
//   children: [{
//       path: 'list',
//       name: '会员列表'
//     },
//     {
//       path: 'rank',
//       name: '会员等级'
//     }
//   ]
// }, {
//   path: 'system',
//   name: '系统管理',
//   icon: 'fa fa-gear',
//   children: [{
//       name: '后台账号管理',
//       path: 'user'
//     },
//     {
//       name: '角色管理',
//       path: 'role'
//     },
//     {
//       name: '权限管理',
//       path: 'scope'
//     },
//     {
//       name: '前端路由表管理',
//       path: 'route'
//     }
//   ]
// }, {
//   path: 'cart',
//   name: '用户购物车',
//   icon: 'fa fa-shopping-cart ',
//   children: [{
//     name: '购物车列表',
//     path: 'list'
//   }]
// }, {
//   path: 'mina-shop',
//   name: '小程序管理',
//   icon: 'fa fa-wechat',
//   children: [{
//       name: '首页轮播图',
//       path: 'banner'
//     },
//     {
//       name: '公告管理',
//       path: 'notice'
//     },
//     {
//       name: '商品分类导航',
//       path: 'nav'
//     },
//     {
//       name: '广告管理',
//       path: 'advertisement'
//     },
//     {
//       name: '商城主题管理',
//       path: 'theme'
//     }, {
//       name: '运费模板管理',
//       path: 'postage'
//     }
//   ]
// }]

// 合并必须 和 鉴权返回的菜单
// const HomeRoutes = [
//   ...BaseRoutes,
//   ...ScopeRoutes

// ]
import Storage from '../../utils/storage'

// 本地存储系统路由的名字
const STORAGE_SYSTEM_KEY = 'system'

// 首次读取本地存储的路由信息
const system = Storage.get(STORAGE_SYSTEM_KEY)
const routes = system ? system.routes : null

const state = {
  theme: '#2f4050', // 侧边栏系统主题颜色
  isCollapse: false, // 左侧栏是否收起
  routes, // 系统路由信息 (需要根据用户角色获取列表)
  isLoading: false // 左侧菜单加载动画
}

const getters = {
  getSystemConfig (state) {
    return state
  },
  getRoutes (state) {
    return state.routes
  },
  getIsLoading (state) {
    return state.isLoading
  }
}

const mutations = {
  setSidebarWidth (state, payload) {
    state.isCollapse = payload
  },
  setRoutes (state, payload) {
    state.routes = payload
  },
  clearNavRoutes (state, payload) {
    state.routes = null
  },
  setIsLoading (state, payload) {
    state.isLoading = payload
  }
}

const actions = {
  saveRoutes (context, payload) {
    // 存储到本地仓库sessionStorage
    Storage.save(STORAGE_SYSTEM_KEY, {routes: payload})
    // 存储到本地仓库store
    context.commit('setRoutes', payload)
  },
  clearRoutes (context, payload) {
    // 存储到本地仓库sessionStorage
    Storage.remove(STORAGE_SYSTEM_KEY)
    context.commit('clearNavRoutes')
  }
}

export default {
  namespaced: true,
  state,
  getters,
  mutations,
  actions
}
